package cn.stylefeng.guns.modular.business.app.pojo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 支付订单详情表实体类
 */
@Data
@TableName("t_pay_order")
@NoArgsConstructor
@AllArgsConstructor
public class PayOrder {
    /**
     * 主键id
     */
    @TableId("id")
    private Long id;

    /**
     * 创建人
     */
    @TableField("create_by")
    private Long createBy;

    /**
     * 更新人
     */
    @TableField("update_by")
    private Long updateBy;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private LocalDateTime updateTime;

    /**
     * 删除标志：0正常 1删除
     */
    @TableField("del_flag")
    @TableLogic
    private Integer delFlag;

    /**
     * 请求日期
     */
    @TableField("req_date")
    private String reqDate;

    /**
     * 请求流水号
     */
    @TableField("req_seq_id")
    private String reqSeqId;

    /**
     * 商户号
     */
    @TableField("huifu_id")
    private String huifuId;

    /**
     * 商品描述
     */
    @TableField("goods_desc")
    private String goodsDesc;

    /**
     * 交易类型
     */
    @TableField("trade_type")
    private String tradeType;

    /**
     * 交易金额
     */
    @TableField("trans_amt")
    private String transAmt;

    /**
     * 异步通知地址
     */
    @TableField("notify_url")
    private String notifyUrl;

    /**
     * 交易状态：0处理中 1交易成功 2交易失败
     */
    @TableField("status")
    private Integer status;

    /**
     * 0未分账 1已分账
     */
    @TableField("is_divide_acc")
    private Integer isDivideAcc;

    /**
     * 租户Id
     */
    @TableField("tenant_id")
    private Long tenantId;

    /**
     * 订单Id
     */
    @TableField("order_id")
    private String orderId;

    /**
     * 支付类型
     * 1、网点代收 订单id对应表tt_finance的order_id字段
     * 2、交付 订单id对应表tt_order_sub的id字段
     * 3、创建订单时现金线上支付
     * 4、订单创建完成后现金线上支付
     */
    @TableField("pay_type")
    private Integer payType;

    @TableField("open_id")
    private String openId;

    /**
     * 订单号唯一标识
     */
    @TableField("order_no")
    private String orderNo;
}
